﻿/*
整数内码 
Time Limit:1000MS  Memory Limit:32768K


Description:
将十进制整数的内部32位二进制码输出。

Input:
输入数据中含有不多于50个整数n（-2^31<n<2^31）。 
Output:
对于每个n，输出其对应的32位二进制码与原整数，中间空2格。每个结果对应一行输出。 
Sample Input:
5 12 -12
Sample Output:
00000000000000000000000000000101  5
00000000000000000000000000001100  12
11111111111111111111111111110100  -12
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char* argv[])
{
	int num;
	while (EOF!=scanf("%d", &num))
	{
		char buffer[33]={0};
		for (int i=31, j=0; i>=0; --i, ++j)
		{
			buffer[j]= ((num>>i)&0x1) + '0';
		}
		buffer[32]='\0';
		printf("%s  %d\n", buffer, num);

	}
	return 0;
}